package com.example.d4_homework.homework01;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class Test {
    public static void main(String[] args) throws Exception {
        // 1.创建一个Dom4J框架提供的解析器对象
        SAXReader saxReader = new SAXReader();

        // 2.使用saxReader对象把需要解析的XML文件读成一个Document对象
        Document document = saxReader.read("day21-properties-xml-log\\src\\test.xml");

        // 3.开始解析xml中的全部数据
        Element root = document.getRootElement(); // 获取根元素对象

        // 创建一个Map集合,用于存储解析出来的用户数据
        Map<Integer, User> map = new HashMap<>();
        // 4.获取根元素下的全部一级子元素对象
        List<Element> elements = root.elements();
        for (Element element : elements) {
            // 获取当前元素对象的id属性值
            String id = element.attributeValue("id");
            User user = new User();
            // 将id属性值转换为Integer类型
            Integer i = Integer.valueOf(id);
            // 从当前元素中获取用户数据,并设置到User对象中
            user.setName(element.elementTextTrim("name"));
            user.setSex(element.elementTextTrim("sex"));
            user.setAddress(element.elementTextTrim("地址"));
            user.setPassword(element.elementTextTrim("password"));
            // 将用户数据存储到Map集合中
            map.put(i, user);
        }

        // 遍历并打印Map集合中的用户数据
        map.forEach((k, v) -> System.out.println(k + ":" + v));
    }
}
